Setup

library(Seurat)
library(ape)
library(RColorBrewer)
library(ggplot2)

#Data file
data.integrated <- readRDS("../Inputs/IntegratedData.rds")

#Color panels
maccols <- brewer.pal(n=8, name="Blues")[c(-1,-3,-5,-7)]
monocols <- c("#ff8ade","#e324ad")
dccols <- brewer.pal(n=9, name="Greens")[-1]
tcols <- brewer.pal(n=8, name="Reds")[-1]
nkcols <- c("#876149","#6e3f22")
bcols <- brewer.pal(n=4, name="Purples")[-1]
othcols <- c("#71a157","#00c5cc","#a18e25","#b282b3")
strcols <- brewer.pal(n=4, name="Oranges")[-1]
wccols = c("#878787", "#518db6","#94cc73","#e96b53")

cols <- c(maccols,monocols,dccols,tcols,nkcols,bcols,othcols,strcols)

llcols <- c("#4292C6","#ff8ade","#238B45","#EF3B2C","#876149","#9E9AC8","#71a157","#00c5cc","#a18e25","#b282b3","#FD8D3C")

Figure 2

Figure 2 introduces our single cell sequencing approach and the simple classification of cell types using cell-type exclusive markers and targeted surface protein analysis.

Figure 2A

Schematic of CITE-Seq approach

Figure 2B

DimPlot(data.integrated, group.by="lowlevel2", cols=llcols) + NoLegend() + labs(title="")

DimPlot(data.integrated, group.by="highlevel2", cols=cols) + NoLegend() + labs(title="")

#For labels
DimPlot(data.integrated, group.by="highlevel2", cols=cols) + labs(title="") 

Figure 2C

Idents(data.integrated) <- data.integrated$lowlevel2
DefaultAssay(data.integrated) <- "RNA"
VlnPlot(data.integrated, 
        features=c("Fcgr1","Ear2","Clec9a","Cd3d","Klrb1c","Ms4a1","Jchain","Mcpt4","S100a8","Gata3","Col3a1"), 
        stack=T, 
        flip=T,
        fill.by="ident",
        cols = llcols) +
  labs(x="") + 
  NoLegend()

Figure 2D

DefaultAssay(data.integrated) <- "ADT"
Idents(data.integrated) <- data.integrated$lowlevel2
VlnPlot(data.integrated, 
        features=c("MAC2","CD64","CD11b","CD11c","CD80","CD3","CD4","CD19","CD39","NK1.1"), 
        stack=T, 
        flip=T,
        fill.by="ident",
        cols = llcols) +
  labs(x="") + 
  NoLegend()

Figure 2E

DefaultAssay(data.integrated) <- "integrated"
Idents(data.integrated) <- data.integrated$highlevel2
data.integrated <- BuildClusterTree(object=data.integrated,
                 assay="integrated")
data.tree <- Tool(object = data.integrated, slot = "BuildClusterTree")
ape::plot.phylo(x = data.tree, direction = "downwards", label.offset=60, cex=0.8)

Session Info

sessionInfo()
## R version 4.1.0 (2021-05-18)
## Platform: x86_64-apple-darwin17.0 (64-bit)
## Running under: macOS Big Sur 10.16
## 
## Matrix products: default
## BLAS:   /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRblas.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRlapack.dylib
## 
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] ggplot2_3.3.5      RColorBrewer_1.1-2 ape_5.5            SeuratObject_4.0.2
## [5] Seurat_4.0.3      
## 
## loaded via a namespace (and not attached):
##   [1] Rtsne_0.15            colorspace_2.0-2      deldir_0.2-10        
##   [4] ellipsis_0.3.2        ggridges_0.5.3        spatstat.data_2.1-0  
##   [7] farver_2.1.0          leiden_0.3.8          listenv_0.8.0        
##  [10] ggrepel_0.9.1         fansi_0.5.0           codetools_0.2-18     
##  [13] splines_4.1.0         knitr_1.33            polyclip_1.10-0      
##  [16] jsonlite_1.7.2        ica_1.0-2             cluster_2.1.2        
##  [19] png_0.1-7             uwot_0.1.10           shiny_1.6.0          
##  [22] sctransform_0.3.2     spatstat.sparse_2.0-0 compiler_4.1.0       
##  [25] httr_1.4.2            assertthat_0.2.1      Matrix_1.3-4         
##  [28] fastmap_1.1.0         lazyeval_0.2.2        later_1.2.0          
##  [31] htmltools_0.5.1.1     tools_4.1.0           igraph_1.2.6         
##  [34] gtable_0.3.0          glue_1.4.2            RANN_2.6.1           
##  [37] reshape2_1.4.4        dplyr_1.0.7           Rcpp_1.0.7           
##  [40] scattermore_0.7       jquerylib_0.1.4       vctrs_0.3.8          
##  [43] nlme_3.1-152          lmtest_0.9-38         xfun_0.24            
##  [46] stringr_1.4.0         globals_0.14.0        mime_0.11            
##  [49] miniUI_0.1.1.1        lifecycle_1.0.0       irlba_2.3.3          
##  [52] goftest_1.2-2         future_1.21.0         MASS_7.3-54          
##  [55] zoo_1.8-9             scales_1.1.1          spatstat.core_2.3-0  
##  [58] promises_1.2.0.1      spatstat.utils_2.2-0  parallel_4.1.0       
##  [61] yaml_2.2.1            reticulate_1.20       pbapply_1.4-3        
##  [64] gridExtra_2.3         sass_0.4.0            rpart_4.1-15         
##  [67] stringi_1.7.3         highr_0.9             rlang_0.4.11         
##  [70] pkgconfig_2.0.3       matrixStats_0.59.0    evaluate_0.14        
##  [73] lattice_0.20-44       ROCR_1.0-11           purrr_0.3.4          
##  [76] tensor_1.5            patchwork_1.1.1       htmlwidgets_1.5.3    
##  [79] labeling_0.4.2        cowplot_1.1.1         tidyselect_1.1.1     
##  [82] parallelly_1.27.0     RcppAnnoy_0.0.18      plyr_1.8.6           
##  [85] magrittr_2.0.1        R6_2.5.0              generics_0.1.0       
##  [88] DBI_1.1.1             pillar_1.6.1          withr_2.4.2          
##  [91] mgcv_1.8-36           fitdistrplus_1.1-5    survival_3.2-11      
##  [94] abind_1.4-5           tibble_3.1.2          future.apply_1.7.0   
##  [97] crayon_1.4.1          KernSmooth_2.23-20    utf8_1.2.1           
## [100] spatstat.geom_2.2-2   plotly_4.9.4.1        rmarkdown_2.9        
## [103] grid_4.1.0            data.table_1.14.0     digest_0.6.27        
## [106] xtable_1.8-4          tidyr_1.1.3           httpuv_1.6.1         
## [109] munsell_0.5.0         viridisLite_0.4.0     bslib_0.2.5.1